package utils

import (
	"fmt"
	"os/exec"
)

// 添加IP到黑名单（立即生效，不持久化）
func AddIPToBlacklist(ip string) error {
	cmd := exec.Command("firewall-cmd", "--add-rich-rule", fmt.Sprintf(`rule family="ipv4" source address="%s" drop`, ip))
	err := cmd.Run()
	if err != nil {
		return fmt.Errorf("添加IP到黑名单失败: %w", err)
	}
	return nil
}

// 从黑名单中移除IP（立即生效，不持久化）
func RemoveIPFromBlacklist(ip string) error {
	cmd := exec.Command("firewall-cmd", "--remove-rich-rule", fmt.Sprintf(`rule family="ipv4" source address="%s" drop`, ip))
	err := cmd.Run()
	if err != nil {
		return fmt.Errorf("从黑名单中移除IP失败: %w", err)
	}
	return nil
}